//package com.gpframework.common.utils.contract;
//
//
//import com.gpframework.common.config.GpframeworkConfig;
//import com.gpframework.common.constant.Constants;
//import com.gpframework.common.exception.BaseException;
//import com.gpframework.common.utils.FileUtils;
//import com.gpframework.common.utils.file.FileUploadUtils;
//import org.apache.log4j.Logger;
//import org.springframework.web.multipart.MultipartFile;
//
//import java.io.File;
//import java.io.IOException;
//import java.util.HashMap;
//import java.util.Map;
//
//public class GenerateContractUtil {
//    public static Logger LOG = Logger.getLogger(GenerateContractUtil.class);
//
//    /**
//     * @Author: wuyongqiang
//     * @Description:获取合同，保存云端
//     * @Date: 2021/12/8  15:46
//     * @Param orderInfos: 订单信息
//     * @Param contInfo:  合同信息
//     * @return: java.lang.String  返回云端地址
//     **/
////    private String makeCont(List<OrderInfo> orderInfos, ContInfo contInfo) throws Exception {
//    public static String makeCont(Map<String, String> replaceMap) throws Exception {
//
//        String urlPath;
////        String id = contInfo.getContFileName();// 合同ID
////        String id = "SB250";// 合同ID
//        String type = replaceMap.remove("type");// 输出类型： pdf/图片
//        String id = replaceMap.remove("contractInfoId");// 合同ID
//        String contractUrl = replaceMap.remove("contractUrl");// 合同模板地址
//        String brandId = replaceMap.remove("brandId");// 公司Logo
//        String storeId = replaceMap.remove("storeId");// 公司Logo
//        String brandLogo = replaceMap.remove("brandLogo");// 公司Logo
//        String brandSeal = replaceMap.remove("brandSeal");// 公司印章
//        // TODO: LEE:地址修改(√)
//        String contractPath = GpframeworkConfig.getProfile() + contractUrl;
////        String contractPath = contractUrl;
//        // 获取合同docx所在的储存路径
//        String contractFolderPath = contractPath.substring(0, contractPath.lastIndexOf("/") + 1);
////        String contractPath = GpframeworkConfig.getUploadPath() + "/cont/templet/";
////        String contractPath = "D:\\项目数据\\维客\\cont\\templet/";
//
//        //获取合同信息
////        Map<String, String> replaceMap = getReplaceMap(contInfo, orderInfos);
//        String userId = replaceMap.get("userId");
//        StringBuilder destPathDOCX = new StringBuilder(contractFolderPath).append(userId);  //合同信息填充后的保存路径
//
//        // 判断用户文件夹是否存在，不存在则新建
//        File userNumFile = new File(destPathDOCX.toString());
//        if (!userNumFile.exists()) {
//            userNumFile.mkdirs();
//        }
//        destPathDOCX.append(File.separator).append(userId).append(".docx");
//
//        Map<String, String> replaceTableMap = new HashMap<String, String>();
//        replaceTableMap.put("totalAmount", replaceMap.remove("totalAmount"));
//        replaceTableMap.put("date", replaceMap.remove("date"));
//        replaceTableMap.put("totalCapitalizeAmount", replaceMap.remove("totalCapitalizeAmount"));
//
//        //  替换合同里面的参数
////        WordUtil.replaceAndGenerateWord(contractPath + "contactTemplet.docx", destPathDOCX.toString(), replaceMap, replaceMap);
//        try {
//            WordUtil.replaceAndGenerateWord(contractPath, destPathDOCX.toString(), replaceMap, replaceMap);
//        } catch (IOException e) {
//            throw new BaseException("获取合同模版失败，请重新上传模版后再重试");
//        }
//        //更新合同中的产品服务信息
////        updateContTableInfo(destPathDOCX.toString(), orderInfos);
//
//        //设置转换后pdf文件的保存路径
////        StringBuilder pdfFile = new StringBuilder(contractPath).append(userId).append(File.separator).append(id).append(".pdf");
////        StringBuilder pdfFile = new StringBuilder(contractFolderPath).append(userId).append(File.separator).append(id).append(".pdf");
//
//        // 将word转pdf文件
////        Boolean bool = WordUtil.wordConverterToPdf(destPathDOCX.toString(), pdfFile.toString());
//        String bool = WordUtil.file2pdf(destPathDOCX.toString());
//
//        //公司logo
//        /*if (StringUtils.isNotBlank(brandLogo)) {
//            try {
//                InputStream inputStream = new FileInputStream(bool);
//                PdfUtil.itextPDFAddPicture(inputStream, bool, brandLogo, "公司logo", 50, 50);
//            } catch (Exception e) {
//                LOG.error("公司logo解析失败");
//            }
//        }
//        //盖章
//        if (StringUtils.isNotBlank(brandSeal)) {
//            try {
//                InputStream inputStream = new FileInputStream(bool);
//                PdfUtil.itextPDFAddPicture(inputStream, bool, brandSeal, "盖章处", 100, 100);
//            } catch (Exception e) {
//                LOG.error("盖章解析失败");
//            }
//        }*/
//
//
//        // 将盖章后的pdf文档保存到服务器
//        File file = new File(bool);
//        MultipartFile multipartFile = FileUtils.getMultipartFile(file);
//
//        // 上传文件路径
//        String filePath = GpframeworkConfig.getUploadPath() + "/" + brandId + "/" + storeId;
//        // 上传并返回新文件名称
//        String fileName = FileUploadUtils.upload(filePath, multipartFile);
//        String url = GpframeworkConfig.getPrePath() + fileName;
//        /*AjaxResult ajax = AjaxResult.success();
//        Map<String, Object> result = new HashMap<>();
//        result.put("fileName", fileName);
//        result.put("originalFilename", multipartFile.getOriginalFilename());
//        result.put("fileType", multipartFile.getContentType());
//        result.put("url", url);
//        ajax.setData(result);*/
//        urlPath = url;
//        /*try {
//            // 上传文件路径
//            String filePath = GpframeworkConfig.getUploadPath() + "cont";
//            // 上传并返回新文件名称
//            String fileName = FileUploadUtils.upload(filePath, req.getFile());
//            String url = ServerConfig.getUrl() + fileName;
//            Map<String, Object> result = new HashMap<>();
//            result.put("fileName", fileName.replaceAll("\\\\", ""));
//            result.put("url", url.replaceAll("\\\\", ""));
//            return result.get("url").toString();
//        } catch (Exception e) {
//            return "";
//        }*/
//
//        // pdf转图片
//        if ("image".equals(type)) {
////            urlPath = WordUtil.pdfToImage(bool, filePath);
//            urlPath = WordUtil.pdfbox("file:///" + bool, filePath, GpframeworkConfig.getPrePath() + Constants.RESOURCE_PREFIX + "/upload/" + brandId + "/" + storeId);
//        }
//
//        //将盖章后的pdf文档保存到云端
////        urlPath = aliyunOSS.uploadFile("files/contract/",  id + ".pdf", file);
//
//        //  删除word电子合同
//        File fileDOCX = new File(destPathDOCX.toString());
//        if (fileDOCX.exists()) {
//            fileDOCX.delete();
//        }
//
//        //删除pdf电子合同
//        File filePdf = file;
//        if (filePdf.exists()) {
//            filePdf.delete();
//        }
//
//        return urlPath;
//    }
//}
